Recent advances in computing technology including the emergence of the Internet of Things (IoT), inexpensive mobile computing, and ubiquitous sensor and monitoring technologies enable vast quantities of data to be easily and inexpensively obtained. For example, a modern automobile may have hundreds of sensors positioned throughout its chassis, continuously gathering information about various aspects of the vehicle, such as the engine, the vehicle's performance, road position, location, weather/rain, proximity to other cars, temperature, passenger location, driver alertness, etc. Similarly, smartphones can sense or otherwise monitor and gather information about dozens of features related to a user, such as location, network connectivity, physiological data about the user in some cases, device usage, which may include applications used, browsing activity, battery life, etc. Ready access to the ocean of information made available by these recent advances in technology can provide machine learning and data-analysis systems much greater insight into the monitored events, operations, or processes that produce the data.
However, in many circumstances, this large amount of data includes significant irrelevant data or “noise.” As a consequence, the machine learning, predictive, and data mining technologies operating on this information often generate misleading or incorrect outcomes, rendering them less useful. Additionally, the high-dimensionality of such large amounts of information substantially increases the computational processing, storage, and communication requirements for these applications, often rendering them unsuitable for operating on many mobile devices and making providing timely results to an end-user difficult or nearly impossible.